package com.aau.edu.serializable;

import java.io.*;

/***
 * 序列化的注意事项：
 * 1.当父类继承Serializable接口，所有的子类都可以被序列化。
 * 2.子类实现了Serializable接口，父类没有，父类的属性不能被序列化（不报错，数据会丢失），但是在子类中的属性仍能正常序列化
 * 3.如果序列化的属性是对象，则这个对象也不洗实现Serializable接口，否则会报错。
 * 4.在反序列化时，如果对象的属性有修改或删减，则修改的部分属性会丢失，但不会报错。
 * 5.在序列化时，如果serialVersionUID被修改，则反序列化时会失败。
 * 其他的序列化方式：JSON/XML结构数据
 */
public class Serialize implements Serializable {

    private static final long serialVersionUID = -6849794470754660011L;
    public int num = 1390;


    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("d:/b.dat");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            Serialize serialize = new Serialize();
            oos.writeObject(serialize);
            oos.flush();
            oos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
